home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
476-500
/
disk_477
/
irmaster
/
letgo.asm
< prev
next >
Wrap
Assembly Source File
|
1992-05-06
|
1KB
|
54 lines
;
; LetGo.asm
;
; Reads from parallel port until detects a quiescent state.
;
csect text
xdef _LetGo
xref _ciab
xref _NSamples
xref _Forbid
xref _Disable
xref _Enable
xref _Permit
data1 equ $bfe101
dir1 equ $bfe301
_LetGo
;
; Save registers on stack.
;
MOVEM.L A2-A6/D2-D7,-(SP) ; Push Registers
;
; Set up parallel port for reading.
;
move.b #0,dir1 * all lines read
move.b #0,data1
;
; Read from parallel port until see no change for 10000 cycles.
;
again: move.l #$2710,_NSamples ; Initialize the counter to BIG.
; FFF0 * .1397us/clock * 50 clocks = .5sec
move.l #0,d1 ; Zero the detection flag.
loop: move.b data1,d0 ; Move byte from parallel port to buffer.
andi.b #1,d0 ; Mask off bit of interest.
bne over
addq.l #$1,d1 ; Found a zero = still getting signal.
over: subq.l #$1,_NSamples ; Decrement counter.
bne loop ; Loop if haven't done 10000 yet.
tst.l d1 ; Still receiving signal?
bne again
;
; Clean up, restore registers and return.
;
MOVEM.L (SP)+,A2-A6/D2-D7 ; Pop Registers
RTS
END